<?php

/**
 * Vytváří instanci hlaního menu, které má možnost zvýraznění aktivní položky
 *
 * activeItemId   - identifikátor aktivní sekce
 * activeItemCode - kód kterým se bude aktivní položka odlišovat od ostatních
 *                  např. 'class="current_page_item"'
 * @author Renyl
 */
class MenuMain extends Menu {

    private $activeItemId;
    private $activeItemCode;

    // Konstruktor
    public function MenuMain($pActiveLinkCode) {
        parent::Menu();
        $this->activeItemId = 0;
        $this->activeItemCode = $pActiveLinkCode;
    }

    // Přidá novou sekci do menu
    public function AddItem($pNazev, $pLink, $pTitle, $pKeywords, $pDescription, $pHeadline, $pMainText, $pImageName, $pImageAlt, $pVideo) {
        $this->items[] = new Section($pNazev, $pLink, $pTitle, $pKeywords, $pDescription, $pHeadline, $pMainText, $pImageName, $pImageAlt, $pVideo);
    }

    // Nastaví aktivní sekci
    public function SetActiveItem($pUrl) {
        for ($i = 0; $i < count($this->items); $i++) {
            if ($this->items[$i]->GetLink() == $pUrl) {
                $this->activeItemId = $i;
            }
        }
    }

    public function GetActiveItem() {
        return $this->items[$this->activeItemId];
    }

    public function GetActiveItemId() {
        return $this->activeItemId;
    }

    // Vypíše všechny položky
    public function ShowAllItems() {
        return $this->ShowItems(NULL);
    }

    // Vypíše konkrétní sekce - vstupním parametrem je pole čísel
    public function ShowItems($pIds) {
        if ($pIds == NULL) {
            // Vypiš všechny
            for ($i = 0; $i < count($this->items); $i++) {
                // Příklad aktivního linku: <li class="current_page_item"><a href="/odkaz">TEXT</a></li>
                if ($i == $this->activeItemId && $this->activeItemCode != NULL) {
                    $code = ' ' . $this->activeItemCode;
                } else {
                    $code = "";
                }
                echo '<li' . $code . '><a href="/' . $this->items[$i]->GetLink() . '">' . $this->items[$i]->GetName() . '</a></li>' . "\n";
            }
        } else {
            // Vypíše konkrétní sekce
            for ($j = 0; $j < count($pIds); $j++) {
                for ($i = 0; $i < count($this->items); $i++) {

                    if ($pIds[$j] == $i) {
                        // Příklad aktivního linku: <li class="current_page_item"><a href="/odkaz">TEXT</a></li>
                        if ($i == $this->activeItemId && $this->activeItemCode != NULL) {
                            $code = ' ' . $this->activeItemCode;
                        } else {
                            $code = "";
                        }
                        echo '<li' . $code . '><a href="/' . $this->items[$i]->GetLink() . '">' . $this->items[$i]->GetName() . '</a></li>';
                    }
                }
            }
        }
    }

}

?>
